home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
utils
/
overscn3.arc
/
OVERSCAN.DOC
< prev
next >
Wrap
Text File
|
1985-11-20
|
23KB
|
431 lines
OVERSCAN.PRG Version 1.6 Karsten Isakovic , Berlin 05.07.89
--------------------------------------------------------------
Das vorliegende Programm arbeitet nur mit folgenden TOS-Versionen
ROM-TOS 1.4 Messe-Version getestet
RAM-TOS 1.4 Deutsches Entwickler TOS
BETA-TOS Englisches Test-TOS
ROM-TOS 1.2 BlitterTOS
RAM-TOS 1.2 BlitterTOS (nicht getestet !)
KAOS-TOS aus CT 11/88
und auch nur wenn die OVERSCAN-Modifikation am Rechner erfolgt ist.
In den Farbmodi läuft es nur bei 50 Hz korrekt !
Bei allen anderen TOS-Versionen oder wenn der Schalter nicht auf OVERSCAN
steht sollte eine Fehlermeldung kommen.
Anleitung
---------
Das Programm gehört als erstes Programm in den AUTO-Ordner der BOOT-Diskette.
Dazu muß man einen neuen AUTO-Ordner anlegen und die BOOT-Programme in der
gewünschten Reihenfolge in den Ordner kopieren.
Den Schalter umlegen und Rechner einschalten. Beim Laden des Programms eine
der SonderTasten Control/Shift oder Alternate drücken und schon landet man
im InstallationsMenu.
Auf dem ansonst schwarzen Bildschirm ist eine Box mit ihren Diagonalen
gezeichnet. Die Box kann mit den CursorTasten in der Höhe und Breite
verändert werden. Die linke obere Ecke kann mit den Tasten / * - + des
ZehnerBlocks frei auf dem Bildschirm verschoben werden.
Diese Box ist durch Verschieben und Vergrößern nun so groß wie möglich
einzustellen, so das die Box gerade noch zu sehen ist. Beim SchwarzWeiß-
Monitor kann man sehr gut sehen wie die Box im Strahlenrücklauf umklappt,
wenn man sie zu breit macht. Hat man einen Farb-Monitor angeschlossen,
so sollte man die Einstellung auch gleich für beide Auflösungen vornehmen.
Dazu kann man mit den Tasten L, M und H in die Auflösungen Low,Middle und
High (fals man eine AutoMonitorSwitchBox hat) umschalten.
Außderdem kann man mit P den Physbase-Emulator einschalten, der einige
wenige Programme (z.B. Calamus) doch noch zum laufen bringt, Mit C kann
man festlegen ob das BildschirmLöschen mit Alt/Help oder mit
RechtsShift/Alt/Help aktiviert werden soll.
Sind alle EinstellungsArbeiten erledigt, so drückt man einfach S für
Speichern und die Werte werden permanent im OVERSCAN.PRG gespeichert. Drückt
man nur Q, so werden die Werte zwar übernommen, doch nicht gespeichert.
Weiß man nicht mehr, welche Taste wofür ist, kann man sich die Liste nochmals
mit der HELP-Taste anzeigen lassen.
Was gibt es sonst noch für den NUR-USER ?
-----------------------------------------
Das Programm passt die grundlegenden Ausgabe-Routinen des ST an die durch
den Schalter veränderte BildschirmBreite und Höhe an.
Da bisher nur wenige Programm mit einem größeren Bildschirm zurechtkommen,
sind im Programm Vorkehrungen getroffen, um nach Beendigung eines solchen
Programms das Desktop wieder korrekt darzustellen. Sollte einmal ein
Accessory den BildschirmAufbau zerstören besteht noch die Möglichkeit den
Bildschirm manuell durch Drücken der eingestellten ClearTaste wieder
zu restaurieren.
In allen TOS-Versionen existiert ein Fehler beim Scrollen von TOS-Texten.
Wenn es sich um ein RAM-TOS handelt, so wird der Fehler im RAM gepatched.
Dieser Fehler ist ATARI mindestens seit BIGSCREEN (Hallo Julian !) bekannt und
sollte in der Offiziellen ROMTOS-1.4 Version behoben sein.
(Ach was haben wir nicht alles schon von ATARI geglaubt)
Man kann übrigens seine Bekannten schocken, indem man im Monochrom-Modus
einen Mini-Bildschirm von 320x320 einstellt und diesen in die rechte untere
Ecke plaziert. Sieht echt süß aus.
Der GemDesktop hat einen Fehler bei 'Voreinstellung'. Er steht immer auf
Mittlerer Auflösung und man kann höchstens von Mittel nach Niedrig wechseln,
aber nicht mehr zurück. Deswegen kann man beim Wechsel der Auflösung eine
eine der SonderTasten gedrückt halten und landet dann im Setup-Modus. Dort
kann man dann in die gewünschte Auflösung wechseln.
Zusammenfassung für Interessierte
---------------------------------
Zuerst testet das Programm, ob ein gültiges TOS vorliegt, ob der Schalter
umgelegt ist und ob das OVERSCAN.PRG nicht doch schon installiert ist.
Jetzt wird erst einmal der nötig Bildschirmspeicher beschafft, indem man
den zusätzlich benötigten Speicherplatz aus der MemoryAllocatedList
austrägt. Damit wird er bei Programmende nicht mehr freigegeben.
Bei einem RAMTOS wird der Fehler beim Scrollen von TOS-Texten gepatched.
Dieser Fehler beruht darauf, daß davon ausgegangen wird, das die Breite
des Bildschirms in Bytes immer durch 16 teilbar ist.
Danach werden der AES/VDI-Trap ,der GEMDOS-Trap, der XBIOS Trap und der
HARDCOPY-Vektor umgehängt. Bei BlitterTOS werden zusätzlich der VB-Vektor
und der Mouse_Vektor umgesetzt, da die Orginal-Routinen zum Zeichnen der
Maus nicht mit Bildschirmen größer 32K zurechtkommen.
Danach werden die LineA-Variablen auf die neuen Werte gesetzt und die
TOS-Ausgabe neu initialisiert.Der Bildschirmspeicher wird komplett auf
Schwarz gelöscht, da man sonst die Rücklaufstrahlen sehen würde.
Nun wird getestet, ob eine SonderTaste gedrückt ist und gegebenenfals zur
BenutzerInstallation geprungen, wo man das Programm auf seinen Bildschirm
anpassen kann.
Wurde keine SonderTaste gedrückt folgt ein kleines Intro, der Bildschirm
vergrößert sich (symbolisch) von seiner alten Größe bis zur neuen Größe.
Außerdem wird der alte BildschirmInhalt der ja nicht lesbar war in den
neuen OverscanBildschirm kopiert.
Je nachdem welcher Fall vorlag, beendet sich OVERCAN.PRG mit der Meldung
'OVERCAN installed' und bleibt resident im Speicher oder mit einer der
Fehlermeldungen und bleibt nicht im Speicher.
Wozu sind nun die Traps und Vektoren ???
Es reicht nicht aus, den OVERSCAN-Modus einmal einzustellen, weil z.B.
das GEM beim Starten alle LineA-Werte überschreibt und auch gleich noch
32K des Bildschirms auf Weiß setzt, die sich beim SchwarzWeiß-Monitor als
störende Rücklaufstreifen bemerkbar machen.Ausserdem gibt es Programme,die
direkt in den Bildschirmspeicher schreiben oder den Bildschirmspeicher mit
SetScreen an eine andere Stelle verlegen, und dabei den notwendigen Offset
zwischen v_bas_add und dem VideoAddresszähler vernichten. (Zum Aufbau des
Bildschirmspeicher siehe weiter unten).
Der AES/VDI-Trap ist so installiert, das ein Öffnen der BildschirmWorkstation
(v_opnwk) abgefangen wird, die Orginal-Routine ausgeführt wird (löscht unter
anderem auch den Bildschirm s.o.) und DANACH der OVERSCAN-Modus neu
installiert wird, und die Ränder des Bildschirms wieder gesäubert werden.
Diese Routine wird nur beim Starten des Desktops und beim Wechseln der
Auflösung mit 'Voreinstellung' im Desktop aufgerufen. ( Das dort immer die
Mittlere Auflösung als Aktuelle angezeigt wird, ist ein weitere Fehler im GEM )
Der GEMOS-Trap wartet auf die Aufrufe Pterm und Pterm0, also das Ende eines
Prgramms. Es wird vorsichtshalber (s.o.) der OVERSCAN-Modus wieder
eingestellt und die BildschirmRänder gelöscht.
Der XBIOS-Trap ist für den PhysbaseEmulator. Manche Programme die ansonsten
laufen benutzen zum Feststellen der BildschirmAddresse die Funktion Physbase
anstatt Logbase. Beim OVERSCAN-Modus existiert leider ein Offet zwischen beiden
Funktionen. Wenn ein Programm also korrekt läuft und nur teilweise verschoben
auf dem Schirm erscheint kann man diesen Emulator aktivieren, der nichts weiter
tut als statt Physbase den Wert von Logbase zurückzuliefern. Nun können aber
speziell an OVERSCAN-Modus angepasste Programme den Offset nicht mehr erkennen.
(Da es noch nicht viele solcher Programme gibt, kann man den Emulator ruhig
aktivieren)
Der HARDCOPY-Vektor fragt auf die eingestellte Cleartaste ab und stellt dann auf
Wunsch den OVERSCAN-Modus wieder ein, usw...
Der VB-Vektor und der Mouse-Vektor werden nur bei BlitterTOS benutzt. Die
OrginalRoutinen werden durch die MausRoutinen von TOS 1.4 ersetzt.
Warum viele Programme nicht laufen
----------------------------------
Programme , die mit den Funktionen Setscreen den BildschirmSpeicher verlegen,
zerstören den notwendigen Offset zwischen BildschirmSpe